/**
给你一个二叉树的根节点 root ，按 任意顺序 ，返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
输入：root = [1,2,3,null,5] 输出：["1->2->5","1->3"]
输入：root = [1] 输出：["1"]
 */
import arrayToTree from './0-数组转为二叉树.js'
function binaryTreePaths(root) {
  const res = []
  const dfs = (root,path=[]) =>{
    if(!root) return  //空节点
    path.push(root.val)
    if(!root.left&&!root.right) { //叶子结点
      res.push(path.join('->'))
    }
    if(root.left) dfs(root.left,path) //左子树
    if(root.right) dfs(root.right,path) //右子树
    path.pop()
  }
  dfs(root)
  return res
}
const root = [1,2,3,null,5]
console.log(binaryTreePaths(arrayToTree(root)))